home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 9 / FM Towns Free Software Collection 9.iso / taropyon / silib / inc / sieo.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-11-16  |  2.0 KB  |  81 lines

  1. #ifndef    _SIGUI_H
  2. #define    _SIGUI_H
  3.  
  4. #ifndef    _SILIB_H
  5. #    include    <silib.h>
  6. #endif
  7.  
  8. #ifndef _VA_LIST_DEFINED
  9. #    define _VA_LIST_DEFINED
  10.     typedef char       *va_list;
  11. #endif
  12.  
  13. #define    SIP_NANE_LEN    (32)
  14.  
  15. typedef struct _sip_t        /* 部品データ構造体    */
  16. {
  17.     struct _sip_t       *next;
  18.     unsigned int        att;
  19.     unsigned int        stt;
  20.     SIJ_T              (*coFnc)();    /* コンストラクション    */
  21.     void              (*deFnc)();    /* デストラクション        */
  22.     int                  (*prFnc)();    /* パラメータ            */
  23.     int                  (*exFnc)();    /* 実行                    */
  24.     char                name[SIP_NANE_LEN];
  25. } SIP_T;
  26.  
  27. typedef struct        /* 部品管理構造体    */
  28. {
  29.     int                num;
  30.     SIP_T           *topSip;
  31. } SIPARTS_T;
  32.  
  33. extern SIPARTS_T        SiParts;
  34.  
  35.  
  36.  
  37.  
  38. typedef struct _sij_t    /* オブジェクト構造体    */
  39. {
  40.     struct _si_t       *next , *prev;
  41.     struct _si_t       *son, *parent;
  42.     SIP_T               *sip;            /* 部品種別            */
  43.     unsigned int        att;
  44.     unsigned int        stt;
  45.     void               *ptr;    /* ユーザーポインタ    */
  46.     void               *par;    /* パラメータ        */
  47. } SIJ_T;
  48.  
  49. typedef struct _sictr_t    /* コントローラ型    */
  50. {
  51.     int                     numObj;            /* 接続されている部品数    */
  52.     SIJ_T                *topObj, *lastObj;
  53. } SICTR_T;
  54.  
  55. extern SIJ_T    *SijTop;
  56.  
  57. typedef struct    (int (*))(SIJ_T *, va_list) SIM_T;    /* メッセージタイプ    */
  58.  
  59.  
  60. /*----------------------------------------------------------------------*/
  61. /*    オブジェクト属性                                                    */
  62. /*----------------------------------------------------------------------*/
  63. #define    SIJSTT_ACTIVE        (0x0000_0001)    /* アクティブ(活動中)    */
  64. #define    SIJSTT_TARGET        (0x0000_0002)    /* 操作対象                */
  65. #define    SIJSTT_DISP            (0x0000_0010)    /* 表示中                */
  66.  
  67. /*----------------------------------------------------------------------*/
  68. /*    メッセージ                                                            */
  69. /*----------------------------------------------------------------------*/
  70.  
  71. extern SIM_T    SIM_SET_PARTS;                /* GUI 部品の登録        */
  72.  
  73. extern SIM_T    SIM_OPEN;                    /* オープン                */
  74. extern SIM_T    SIM_CLOSE;                    /* クローズ                */
  75. extern SIM_T    SIM_UPDATE;                    /* アップデード            */
  76. extern SIM_T    SIM_SUSPEND;                /* サスペント(停止)    */
  77. extern SIM_T    SIM_RESUME;                    /* リジューム(再活動)    */
  78.  
  79.  
  80. #endif
  81.